/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jpi1208a;

import java.util.Scanner;
import java.util.StringTokenizer;

/**
 *
 * @author VANDH
 */
public class StringDemo {

    String myString; // = null

    void inputString() {
        Scanner keyboard = new Scanner(System.in);
        Student s = new Student();
        System.out.println(s.fullName);
        myString = keyboard.nextLine();
        // đếm số lượng kí tự
        System.out.println("Length : " + myString.length());
        // lấy kí tự tại vị trí thứ i
        System.out.println("Char at 10: " + myString.charAt(10));
        // tìm vị trí xuất hiện đầu tiên của một chuỗi con
        // "accp 1208a208", không tìm thấy trả về -1
        System.out.println("Index of 208 : "
                + myString.indexOf("208"));

        // tìm vị trí xuất hiện cuối cùng của một chuỗi con
        // "accp 1208a208", không tìm thấy trả về -1
        System.out.println("Last index of 208 : "
                + myString.lastIndexOf("208"));

        // copy lấy ra một đoạn trong chuỗi lớn
        // "accp 1208a", muốn copy từ vị trí số 5 tới 9
        System.out.println("Substring from [5,9)"
                + myString.substring(5, 9));

        // thay thế một chuỗi con thành một chuỗi khác
        // "accp 1208a" muốn thay 1208 -> 1209
        System.out.println("Replace :"
                + myString.replace("1208", "1209"));

        // so sánh với chuỗi khác, không phân biệt hoa thường
        // "accp 1208a" so với "accp 1209a" -> "..1208.." < "..1209.." -> -1
        // "accp 1209a" so với "accp 1209" -> "..1209a" > "..1209" -> 1
        System.out.println("Compare to :"
                + myString.compareTo("accp 1209a"));

        // phân biệt hoa thường
        System.out.println("Compare to :"
                + myString.compareToIgnoreCase("accp 1209a"));

        // chuyển chuỗi thành mảng kí tự
        char[] charArray;
        System.out.println("To char array : ");
        charArray = myString.toCharArray();

        // chuyển tất cả kí tự thành hoa/thường
        System.out.println("To Upper" + myString.toUpperCase());
        System.out.println("To Lower" + myString.toLowerCase());

        // cắt chuỗi thành nhiều chuỗi con
        // "04/08/2013"
        String[] sArray = myString.split("/");
        // sArray[0] -> "04";

        // cắt bỏ các kí tự trắng đầu và cuối chuỗi
        System.out.println("Trim " + myString.trim());


        // Xử lí nhiều lần
        // myString = "accp 1208a";
        StringBuilder sb = new StringBuilder(myString);
        // sb = "accp 1208a"
        sb.append("append");
        // sb = "accp 1208aappend"
        sb.insert(5, "INSERT");
        sb.delete(3, 5);
        sb.reverse();
        System.out.println(sb.toString());

        StringTokenizer st = new StringTokenizer("abc def   ghi");
        //3 token => "abc", "def", "ghi"
        String result;
        while (st.hasMoreTokens()) {
            result = st.nextToken();
            System.out.println(result);
        }
    }
}
